package edu.arizona.sista.learn.language.genesis;

import start.*;

public class Demo {
	
	public static void main(String args[]) {
		System.out.println("Running Start generator on test sentences");

		// Obtain singleton of generator class
		Generator generator = Generator.getGenerator();

		// Entities

		System.out.println(generator.generate(new RoleFrame(new Entity("man")
				.indefinite(), "run")));
		System.out.println(generator.generate(new RoleFrame(new Entity("men")
				.noDeterminer(), "run")));
		System.out.println(generator.generate(new RoleFrame(new Entity("man")
				.feature("large"), "run")));

		// Role frames

		System.out.println(generator.generate(new RoleFrame("man", "dig",
				"hole")));
		System.out.println(generator.generate(new RoleFrame("man", "dig",
				"hole").past()));
		System.out.println(generator.generate(new RoleFrame("man", "dig",
				"hole").negative()));

		// Mind's eye

		Entity man = new Entity("man").addFeature("large").makeIndefinite();
		Entity woman = new Entity("woman").addFeature("tall");
		Entity soldier = new Entity("soldier");
		Entity box = new Entity("box").addFeature("heavy").addFeature("black")
				.makeIndefinite();
		Entity ball = new Entity("ball").addFeature("green");

		System.out.println(generator.generate(new RoleFrame(ball, "bounce")
				.progressive()));
		System.out.println(generator.generate(new RoleFrame(man, "give", box)
				.addRole("to", woman).makePast()));
		System.out.println(generator.generate(new RoleFrame(man.definite(),
				"flee").future().after(
				new RoleFrame(soldier, "appear").present())));
	} 

}
